package com.shimao.celnet.payment.form;


import com.shimao.celnet.payment.model.*;

import java.util.List;

/**
 *发票记录查询
 * 1、发票查询条件
 * 2、发票查询结果list
 * 3、点击详情，查看蓝票详情
 *     详情中包括：蓝票详情，蓝票明细，红票list（可链接查看红票详情）
 * Created by ensure.xu on 2018/01/24
 */
public class PInvoiceBlueForm extends MyPageInfo<PInvoiceBlue>{
    /**
     * 设置分页数据
     * @param list
     */
    public void setPageInfo(List<PInvoiceBlue> list) {
        super.setMyPageInfo(list);
    }

    /**
     * l蓝票记录明细list
     */
    private List<PInvoiceBlueDetail> pInvoiceBlueDetails;

    /**
     * 红票记录明细list
     */
    private List<PInvoiceRed> pInvoiceRedList;

    /**
     * guid
     */
    private String guid;

    /**
     * 查询条件：”开始日期
     */
    private String selStartTime;

    /**
     * 查询条件：”结束日期
     */
    private String selEndTime;

    /**
     * 查询条件：”业务类型List
     */
    private List<SCodeName> businessTypeList;

    /**
     * 查询条件：”小区List
     */
    private List<BEstate> estateList;

    /**
     * 查询条件：”发票种类List：专用发票、普通发票、电子发票、卷式发票
     */
    private List<SCodeName> invoiceKindList;

    /**
     * 查询条件：开票状态List：开票申请、开票成功、开票失败
     */
    private List<SCodeName> invoiceStatusList;

    /**
     * 红冲标志0：未红冲；1：已红冲；默认值
     */
    private String redFlg;

    /**
     * 即时开票标识:0：非即时；1：；
     */
    private String immediatelyFlg;

    /**
     * 作废时间时间戳
     */
    private String invlidTime;
    /**
     * 红冲-价税合计（开红票金额）单位：分
     */
    private String redInvoiceTotalPriceTax;
    /**
     * 可红冲金额合计；蓝票-价税合计（开蓝票
     */
    private String enRedAmount;
    /**
     * 打印日期格式：时间戳
     */
    private String invoicePrintTime;
    /**
     * 应用key外部应用系统在支付平台分配的
     */
    private String appKey;

    /**
     * 接口编号--对应接口注册表中的inte
     */
    private String interfaceId;

    /**
     * 电子发票下载地址
     */
    private String invoiceUrl;

    /**
     * 作废标记，0代表未作废，1代表已作废
     */
    private String invlidFlg;

    /**
     * 业务类型:
     */
    private String businessType;

    /**
     * 小区sfid
     */
    private String estateSfGuid;

    /**
     * 设备类型 0税控服务器，1税控盘
     */
    private String deviceType;
    /**
     * 发票种类编码004:增值税专用发票，007:增值税普通发票，026：增值税电子发票，025：增值税卷式发票
     */
    private String invoiceTypeCode;
    /**
     * 组织机构代码不为空表示所开票归属于当前机构
     */
    private String organizationCode;
    /**
     * 开票流水号唯一标志开票请求。支持数字字母下划线组合。
     */
    private String serialNo;
    /**
     * 特殊票种标记00：普通发票 02：农业发票 默认：00
     */
    private String invoiceSpecialMark;
    /**
     * 销方单位税号
     */
    private String sellerTaxNo;
    /**
     * 开票点编码
     */
    private String invoiceYerminalCode;
    /**
     * 购方单位税号
     */
    private String buyerTaxNo;
    /**
     * 购方单位名称
     */
    private String buyerName;
    /**
     * 购方地址及电话专票必填
     */
    private String buyerAddressPhone;
    /**
     * 购方开户行及账号专票必填
     */
    private String buyerBankAccount;
    /**
     * 销方开户行及账号专票必填
     */
    private String addressPhone;
    /**
     * 销方开户行及账号专票必填
     */
    private String addressAccount;

    /**
     * 销方公司名
     */
    private String companyName;

    /**
     * 购方邮箱
     */
    private String buyerEmail;
    /**
     * 购方电话
     */
    private String buyerPhone;

    /**
     * 开票人
     */
    private String drawer;
    /**
     * 复核人
     */
    private String checker;
    /**
     * 收款人
     */
    private String payee;

    /**
     * 清单标志 0：无清单 1：带清单 （发票明细大于等于8行必须带清单）”
     */
    private String invoiceListMark;

    /**
     * 红字信息表编号（专票开红冲时使用）
     */
    private String redInfoNo;

    /**
     * 原发票代码
     */
    private String originalInvoiceCode;
    /**
     * 原发票号码
     */
    private String originalInvoiceNo;
    /**
     * 征税方式 0：普通征税，2：差额征税
     */
    private String taxationMode;

    /**
     * 扣除额保留两位小数
     */
    private String deductibleAmount;

    /**
     * 合计金额保留两位小数
     */
    private String invoiceTotalPrice;

    /**
     * 合计税额保留两位小数
     */
    private String invoiceTotalTax;

    /**
     * 价税合计保留两位小数
     */
    private String invoiceTotalPriceTax;



    /**
     * 签名值参数默认为：0000004282000000
     */
    private String signatureParameter;

    /**
     * 税控盘编号设备类型为1时必填
     */
    private String taxDiskNo;

    /**
     * 税控盘口令设备类型为1时必填
     */
    private String taxDiskKey;

    /**
     * 税务数字证书密码设备类型为1时必填
     */
    private String taxDiskPassword;

    /**
     * 商品编码版本号
     */
    private String goodsCodeVersion;
    /**
     * 综合税率
     */
    private String consolidatedTaxRate;

    /**
     * 通知单编号
     */
    private String notificationNo;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 发票代码 税控baiwang.invoice.open（发票开具）返回
     */
    private String invoiceCode;

    /**
     * 发票号码 税控baiwang.invoice.open（发票开具）返回
     */
    private String invoiceNo;

    /**
     * 开票开始日期
     */
    private String invoiceStartTime;

    /**
     * 开票结束日期
     */
    private String invoiceEndTime;

    /**
     * 税控码税控baiwang.invoice.open（发票开具）返回，对应发票的密码区
     */
    private String taxControlCode;

    /**
     * 校验码税控baiwang.invoice.open（发票开具）返回
     */
    private String invoiceCheckCode;

    /**
     * 打印类型税票打印：（税控盘必填）0：发票打印，1：清单打印
     */
    private String invoicePrintType;

    /**
     * 打印日期税票打印：（税控盘必填）默认为1
     */
    private String invoicePrintMode;

    /**
     * 打印日期格式：yyyyMMddHHmmss
     */
    private String invoicePrintDate;

    /**
     * 二维码税控baiwang.invoice.open（发票开具）返回
     */
    private String invoiceQrcode;

 /**
     * 发票打印状态
     */
    private String invoicePrintFlg;

    /**
     * 开票状态
     */
    private String invoiceStatus;


    public String getGuid() {
        return guid;
    }

    public void setGuid(String guid) {
        this.guid = guid;
    }

    public String getSelStartTime() {
        return selStartTime;
    }

    public void setSelStartTime(String selStartTime) {
        this.selStartTime = selStartTime;
    }

    public String getSelEndTime() {
        return selEndTime;
    }

    public void setSelEndTime(String selEndTime) {
        this.selEndTime = selEndTime;
    }

    public List<PInvoiceBlueDetail> getpInvoiceBlueDetails() {
        return pInvoiceBlueDetails;
    }

    public void setpInvoiceBlueDetails(List<PInvoiceBlueDetail> pInvoiceBlueDetails) {
        this.pInvoiceBlueDetails = pInvoiceBlueDetails;
    }

    public List<PInvoiceRed> getpInvoiceRedList() {
        return pInvoiceRedList;
    }

    public void setpInvoiceRedList(List<PInvoiceRed> pInvoiceRedList) {
        this.pInvoiceRedList = pInvoiceRedList;
    }

    public String getInvoiceStatus() {
        return invoiceStatus;
    }

    public void setInvoiceStatus(String invoiceStatus) {
        this.invoiceStatus = invoiceStatus;
    }

    public String getInvoicePrintFlg() {
        return invoicePrintFlg;
    }

    public void setInvoicePrintFlg(String invoicePrintFlg) {
        this.invoicePrintFlg = invoicePrintFlg;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getEstateSfGuid() {
        return estateSfGuid;
    }

    public void setEstateSfGuid(String estateSfGuid) {
        this.estateSfGuid = estateSfGuid;
    }



    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getInvoiceTypeCode() {
        return invoiceTypeCode;
    }

    public void setInvoiceTypeCode(String invoiceTypeCode) {
        this.invoiceTypeCode = invoiceTypeCode;
    }

    public String getOrganizationCode() {
        return organizationCode;
    }

    public void setOrganizationCode(String organizationCode) {
        this.organizationCode = organizationCode;
    }

    public String getSerialNo() {
        return serialNo;
    }

    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo;
    }

    public String getInvoiceSpecialMark() {
        return invoiceSpecialMark;
    }

    public void setInvoiceSpecialMark(String invoiceSpecialMark) {
        this.invoiceSpecialMark = invoiceSpecialMark;
    }

    public String getSellerTaxNo() {
        return sellerTaxNo;
    }

    public void setSellerTaxNo(String sellerTaxNo) {
        this.sellerTaxNo = sellerTaxNo;
    }

    public String getInvoiceYerminalCode() {
        return invoiceYerminalCode;
    }

    public void setInvoiceYerminalCode(String invoiceYerminalCode) {
        this.invoiceYerminalCode = invoiceYerminalCode;
    }

    public String getBuyerTaxNo() {
        return buyerTaxNo;
    }

    public void setBuyerTaxNo(String buyerTaxNo) {
        this.buyerTaxNo = buyerTaxNo;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    public String getBuyerAddressPhone() {
        return buyerAddressPhone;
    }

    public void setBuyerAddressPhone(String buyerAddressPhone) {
        this.buyerAddressPhone = buyerAddressPhone;
    }

    public String getBuyerBankAccount() {
        return buyerBankAccount;
    }

    public void setBuyerBankAccount(String buyerBankAccount) {
        this.buyerBankAccount = buyerBankAccount;
    }

    public String getDrawer() {
        return drawer;
    }

    public void setDrawer(String drawer) {
        this.drawer = drawer;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getPayee() {
        return payee;
    }

    public void setPayee(String payee) {
        this.payee = payee;
    }


    public String getInvoiceListMark() {
        return invoiceListMark;
    }

    public void setInvoiceListMark(String invoiceListMark) {
        this.invoiceListMark = invoiceListMark;
    }

    public String getRedInfoNo() {
        return redInfoNo;
    }

    public void setRedInfoNo(String redInfoNo) {
        this.redInfoNo = redInfoNo;
    }

    public String getOriginalInvoiceCode() {
        return originalInvoiceCode;
    }

    public void setOriginalInvoiceCode(String originalInvoiceCode) {
        this.originalInvoiceCode = originalInvoiceCode;
    }

    public String getOriginalInvoiceNo() {
        return originalInvoiceNo;
    }

    public void setOriginalInvoiceNo(String originalInvoiceNo) {
        this.originalInvoiceNo = originalInvoiceNo;
    }

    public String getTaxationMode() {
        return taxationMode;
    }

    public void setTaxationMode(String taxationMode) {
        this.taxationMode = taxationMode;
    }

    public String getDeductibleAmount() {
        return deductibleAmount;
    }

    public void setDeductibleAmount(String deductibleAmount) {
        this.deductibleAmount = deductibleAmount;
    }

    public String getInvoiceTotalPrice() {
        return invoiceTotalPrice;
    }

    public void setInvoiceTotalPrice(String invoiceTotalPrice) {
        this.invoiceTotalPrice = invoiceTotalPrice;
    }

    public String getInvoiceTotalTax() {
        return invoiceTotalTax;
    }

    public void setInvoiceTotalTax(String invoiceTotalTax) {
        this.invoiceTotalTax = invoiceTotalTax;
    }

    public String getInvoiceTotalPriceTax() {
        return invoiceTotalPriceTax;
    }

    public void setInvoiceTotalPriceTax(String invoiceTotalPriceTax) {
        this.invoiceTotalPriceTax = invoiceTotalPriceTax;
    }

    public String getInvlidFlg() {
        return invlidFlg;
    }

    public void setInvlidFlg(String invlidFlg) {
        this.invlidFlg = invlidFlg;
    }

    public String getSignatureParameter() {
        return signatureParameter;
    }

    public void setSignatureParameter(String signatureParameter) {
        this.signatureParameter = signatureParameter;
    }

    public String getTaxDiskNo() {
        return taxDiskNo;
    }

    public void setTaxDiskNo(String taxDiskNo) {
        this.taxDiskNo = taxDiskNo;
    }

    public String getTaxDiskKey() {
        return taxDiskKey;
    }

    public void setTaxDiskKey(String taxDiskKey) {
        this.taxDiskKey = taxDiskKey;
    }

    public String getTaxDiskPassword() {
        return taxDiskPassword;
    }

    public void setTaxDiskPassword(String taxDiskPassword) {
        this.taxDiskPassword = taxDiskPassword;
    }

    public String getGoodsCodeVersion() {
        return goodsCodeVersion;
    }

    public void setGoodsCodeVersion(String goodsCodeVersion) {
        this.goodsCodeVersion = goodsCodeVersion;
    }

    public String getConsolidatedTaxRate() {
        return consolidatedTaxRate;
    }

    public void setConsolidatedTaxRate(String consolidatedTaxRate) {
        this.consolidatedTaxRate = consolidatedTaxRate;
    }

    public String getNotificationNo() {
        return notificationNo;
    }

    public void setNotificationNo(String notificationNo) {
        this.notificationNo = notificationNo;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public List<SCodeName> getBusinessTypeList() {
        return businessTypeList;
    }

    public void setBusinessTypeList(List<SCodeName> businessTypeList) {
        this.businessTypeList = businessTypeList;
    }

    public List<SCodeName> getInvoiceKindList() {
        return invoiceKindList;
    }

    public void setInvoiceKindList(List<SCodeName> invoiceKindList) {
        this.invoiceKindList = invoiceKindList;
    }

    public List<SCodeName> getInvoiceStatusList() {
        return invoiceStatusList;
    }

    public void setInvoiceStatusList(List<SCodeName> invoiceStatusList) {
        this.invoiceStatusList = invoiceStatusList;
    }


    public List<BEstate> getEstateList() {
        return estateList;
    }

    public void setEstateList(List<BEstate> estateList) {
        this.estateList = estateList;
    }

    public String getBuyerEmail() {
        return buyerEmail;
    }

    public void setBuyerEmail(String buyerEmail) {
        this.buyerEmail = buyerEmail;
    }

    public String getBuyerPhone() {
        return buyerPhone;
    }

    public void setBuyerPhone(String buyerPhone) {
        this.buyerPhone = buyerPhone;
    }

    public String getInvoiceStartTime() {
        return invoiceStartTime;
    }

    public void setInvoiceStartTime(String invoiceStartTime) {
        this.invoiceStartTime = invoiceStartTime;
    }

    public String getInvoiceEndTime() {
        return invoiceEndTime;
    }

    public void setInvoiceEndTime(String invoiceEndTime) {
        this.invoiceEndTime = invoiceEndTime;
    }


    public String getTaxControlCode() {
        return taxControlCode;
    }

    public void setTaxControlCode(String taxControlCode) {
        this.taxControlCode = taxControlCode;
    }

    public String getInvoiceCheckCode() {
        return invoiceCheckCode;
    }

    public void setInvoiceCheckCode(String invoiceCheckCode) {
        this.invoiceCheckCode = invoiceCheckCode;
    }

    public String getInvoicePrintType() {
        return invoicePrintType;
    }

    public void setInvoicePrintType(String invoicePrintType) {
        this.invoicePrintType = invoicePrintType;
    }

    public String getInvoicePrintMode() {
        return invoicePrintMode;
    }

    public void setInvoicePrintMode(String invoicePrintMode) {
        this.invoicePrintMode = invoicePrintMode;
    }

    public String getInvoicePrintDate() {
        return invoicePrintDate;
    }

    public void setInvoicePrintDate(String invoicePrintDate) {
        this.invoicePrintDate = invoicePrintDate;
    }

    public String getInvoiceQrcode() {
        return invoiceQrcode;
    }

    public void setInvoiceQrcode(String invoiceQrcode) {
        this.invoiceQrcode = invoiceQrcode;
    }

    public String getRedFlg() {
        return redFlg;
    }

    public void setRedFlg(String redFlg) {
        this.redFlg = redFlg;
    }

    public String getImmediatelyFlg() {
        return immediatelyFlg;
    }

    public void setImmediatelyFlg(String immediatelyFlg) {
        this.immediatelyFlg = immediatelyFlg;
    }

    public String getInvlidTime() {
        return invlidTime;
    }

    public void setInvlidTime(String invlidTime) {
        this.invlidTime = invlidTime;
    }

    public String getRedInvoiceTotalPriceTax() {
        return redInvoiceTotalPriceTax;
    }

    public void setRedInvoiceTotalPriceTax(String redInvoiceTotalPriceTax) {
        this.redInvoiceTotalPriceTax = redInvoiceTotalPriceTax;
    }

    public String getEnRedAmount() {
        return enRedAmount;
    }

    public void setEnRedAmount(String enRedAmount) {
        this.enRedAmount = enRedAmount;
    }

    public String getInvoicePrintTime() {
        return invoicePrintTime;
    }

    public void setInvoicePrintTime(String invoicePrintTime) {
        this.invoicePrintTime = invoicePrintTime;
    }

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    public String getInterfaceId() {
        return interfaceId;
    }

    public void setInterfaceId(String interfaceId) {
        this.interfaceId = interfaceId;
    }

    public String getInvoiceUrl() {
        return invoiceUrl;
    }

    public void setInvoiceUrl(String invoiceUrl) {
        this.invoiceUrl = invoiceUrl;
    }

    public String getAddressPhone() {
        return addressPhone;
    }

    public void setAddressPhone(String addressPhone) {
        this.addressPhone = addressPhone;
    }

    public String getAddressAccount() {
        return addressAccount;
    }

    public void setAddressAccount(String addressAccount) {
        this.addressAccount = addressAccount;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
}
